package com.ecoolex.discount.sales.entity;

import com.ecoolex.framework.common.annotation.Description;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.lang.NonNull;

public class YWGiftCardExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer offset;

    protected Integer rows;

    public YWGiftCardExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public YWGiftCardExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    public YWGiftCardExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
        rows = null;
        offset = null;
    }

    public static Criteria newAndCreateCriteria() {
        YWGiftCardExample example = new YWGiftCardExample();
        return example.createCriteria();
    }

    public YWGiftCardExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    public YWGiftCardExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return this.offset;
    }

    public void setRows(Integer rows) {
        this.rows = rows;
    }

    public Integer getRows() {
        return this.rows;
    }

    public YWGiftCardExample limit(Integer rows) {
        this.rows = rows;
        return this;
    }

    public YWGiftCardExample limit(Integer offset, Integer rows) {
        this.offset = offset;
        this.rows = rows;
        return this;
    }

    public YWGiftCardExample page(Integer page, Integer pageSize) {
        this.offset = page * pageSize;
        this.rows = pageSize;
        return this;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ywgiftcard.Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ywgiftcard.Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("ywgiftcard.Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("ywgiftcard.Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("ywgiftcard.Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("ywgiftcard.Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("ywgiftcard.Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("ywgiftcard.Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("ywgiftcard.Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("ywgiftcard.Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("ywgiftcard.Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("ywgiftcard.Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCardIdIsNull() {
            addCriterion("ywgiftcard.CardId is null");
            return (Criteria) this;
        }

        public Criteria andCardIdIsNotNull() {
            addCriterion("ywgiftcard.CardId is not null");
            return (Criteria) this;
        }

        public Criteria andCardIdEqualTo(Integer value) {
            addCriterion("ywgiftcard.CardId =", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdNotEqualTo(Integer value) {
            addCriterion("ywgiftcard.CardId <>", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThan(Integer value) {
            addCriterion("ywgiftcard.CardId >", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.CardId >=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdLessThan(Integer value) {
            addCriterion("ywgiftcard.CardId <", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdLessThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.CardId <=", value, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardIdIn(List<Integer> values) {
            addCriterion("ywgiftcard.CardId in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotIn(List<Integer> values) {
            addCriterion("ywgiftcard.CardId not in", values, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.CardId between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andCardIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.CardId not between", value1, value2, "cardId");
            return (Criteria) this;
        }

        public Criteria andRegionIsNull() {
            addCriterion("ywgiftcard.Region is null");
            return (Criteria) this;
        }

        public Criteria andRegionIsNotNull() {
            addCriterion("ywgiftcard.Region is not null");
            return (Criteria) this;
        }

        public Criteria andRegionEqualTo(String value) {
            addCriterion("ywgiftcard.Region =", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionNotEqualTo(String value) {
            addCriterion("ywgiftcard.Region <>", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionGreaterThan(String value) {
            addCriterion("ywgiftcard.Region >", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Region >=", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionLessThan(String value) {
            addCriterion("ywgiftcard.Region <", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Region <=", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Region <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRegionLike(String value) {
            addCriterion("ywgiftcard.Region like", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionNotLike(String value) {
            addCriterion("ywgiftcard.Region not like", value, "region");
            return (Criteria) this;
        }

        public Criteria andRegionIn(List<String> values) {
            addCriterion("ywgiftcard.Region in", values, "region");
            return (Criteria) this;
        }

        public Criteria andRegionNotIn(List<String> values) {
            addCriterion("ywgiftcard.Region not in", values, "region");
            return (Criteria) this;
        }

        public Criteria andRegionBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Region between", value1, value2, "region");
            return (Criteria) this;
        }

        public Criteria andRegionNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Region not between", value1, value2, "region");
            return (Criteria) this;
        }

        public Criteria andServiceIdIsNull() {
            addCriterion("ywgiftcard.ServiceId is null");
            return (Criteria) this;
        }

        public Criteria andServiceIdIsNotNull() {
            addCriterion("ywgiftcard.ServiceId is not null");
            return (Criteria) this;
        }

        public Criteria andServiceIdEqualTo(String value) {
            addCriterion("ywgiftcard.ServiceId =", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdNotEqualTo(String value) {
            addCriterion("ywgiftcard.ServiceId <>", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdGreaterThan(String value) {
            addCriterion("ywgiftcard.ServiceId >", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.ServiceId >=", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdLessThan(String value) {
            addCriterion("ywgiftcard.ServiceId <", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.ServiceId <=", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ServiceId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andServiceIdLike(String value) {
            addCriterion("ywgiftcard.ServiceId like", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdNotLike(String value) {
            addCriterion("ywgiftcard.ServiceId not like", value, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdIn(List<String> values) {
            addCriterion("ywgiftcard.ServiceId in", values, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdNotIn(List<String> values) {
            addCriterion("ywgiftcard.ServiceId not in", values, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdBetween(String value1, String value2) {
            addCriterion("ywgiftcard.ServiceId between", value1, value2, "serviceId");
            return (Criteria) this;
        }

        public Criteria andServiceIdNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.ServiceId not between", value1, value2, "serviceId");
            return (Criteria) this;
        }

        public Criteria andChannelIdIsNull() {
            addCriterion("ywgiftcard.ChannelId is null");
            return (Criteria) this;
        }

        public Criteria andChannelIdIsNotNull() {
            addCriterion("ywgiftcard.ChannelId is not null");
            return (Criteria) this;
        }

        public Criteria andChannelIdEqualTo(String value) {
            addCriterion("ywgiftcard.ChannelId =", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdNotEqualTo(String value) {
            addCriterion("ywgiftcard.ChannelId <>", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdGreaterThan(String value) {
            addCriterion("ywgiftcard.ChannelId >", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.ChannelId >=", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdLessThan(String value) {
            addCriterion("ywgiftcard.ChannelId <", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.ChannelId <=", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.ChannelId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andChannelIdLike(String value) {
            addCriterion("ywgiftcard.ChannelId like", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdNotLike(String value) {
            addCriterion("ywgiftcard.ChannelId not like", value, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdIn(List<String> values) {
            addCriterion("ywgiftcard.ChannelId in", values, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdNotIn(List<String> values) {
            addCriterion("ywgiftcard.ChannelId not in", values, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdBetween(String value1, String value2) {
            addCriterion("ywgiftcard.ChannelId between", value1, value2, "channelId");
            return (Criteria) this;
        }

        public Criteria andChannelIdNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.ChannelId not between", value1, value2, "channelId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("ywgiftcard.`Name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("ywgiftcard.`Name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("ywgiftcard.`Name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("ywgiftcard.`Name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("ywgiftcard.`Name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`Name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("ywgiftcard.`Name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`Name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Name` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("ywgiftcard.`Name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("ywgiftcard.`Name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("ywgiftcard.`Name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("ywgiftcard.`Name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`Name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`Name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNull() {
            addCriterion("ywgiftcard.BrandId is null");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNotNull() {
            addCriterion("ywgiftcard.BrandId is not null");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualTo(String value) {
            addCriterion("ywgiftcard.BrandId =", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualTo(String value) {
            addCriterion("ywgiftcard.BrandId <>", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThan(String value) {
            addCriterion("ywgiftcard.BrandId >", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.BrandId >=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThan(String value) {
            addCriterion("ywgiftcard.BrandId <", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.BrandId <=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.BrandId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andBrandIdLike(String value) {
            addCriterion("ywgiftcard.BrandId like", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotLike(String value) {
            addCriterion("ywgiftcard.BrandId not like", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIn(List<String> values) {
            addCriterion("ywgiftcard.BrandId in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotIn(List<String> values) {
            addCriterion("ywgiftcard.BrandId not in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdBetween(String value1, String value2) {
            addCriterion("ywgiftcard.BrandId between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.BrandId not between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("ywgiftcard.`Status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("ywgiftcard.`Status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("ywgiftcard.`Status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("ywgiftcard.`Status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("ywgiftcard.`Status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`Status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("ywgiftcard.`Status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`Status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`Status` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("ywgiftcard.`Status` like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("ywgiftcard.`Status` not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("ywgiftcard.`Status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("ywgiftcard.`Status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`Status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`Status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("ywgiftcard.Content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("ywgiftcard.Content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("ywgiftcard.Content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("ywgiftcard.Content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("ywgiftcard.Content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("ywgiftcard.Content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Content <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("ywgiftcard.Content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("ywgiftcard.Content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("ywgiftcard.Content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("ywgiftcard.Content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andSceneIsNull() {
            addCriterion("ywgiftcard.Scene is null");
            return (Criteria) this;
        }

        public Criteria andSceneIsNotNull() {
            addCriterion("ywgiftcard.Scene is not null");
            return (Criteria) this;
        }

        public Criteria andSceneEqualTo(String value) {
            addCriterion("ywgiftcard.Scene =", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneNotEqualTo(String value) {
            addCriterion("ywgiftcard.Scene <>", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneGreaterThan(String value) {
            addCriterion("ywgiftcard.Scene >", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Scene >=", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneLessThan(String value) {
            addCriterion("ywgiftcard.Scene <", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Scene <=", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Scene <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andSceneLike(String value) {
            addCriterion("ywgiftcard.Scene like", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneNotLike(String value) {
            addCriterion("ywgiftcard.Scene not like", value, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneIn(List<String> values) {
            addCriterion("ywgiftcard.Scene in", values, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneNotIn(List<String> values) {
            addCriterion("ywgiftcard.Scene not in", values, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Scene between", value1, value2, "scene");
            return (Criteria) this;
        }

        public Criteria andSceneNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Scene not between", value1, value2, "scene");
            return (Criteria) this;
        }

        public Criteria andImageIsNull() {
            addCriterion("ywgiftcard.Image is null");
            return (Criteria) this;
        }

        public Criteria andImageIsNotNull() {
            addCriterion("ywgiftcard.Image is not null");
            return (Criteria) this;
        }

        public Criteria andImageEqualTo(String value) {
            addCriterion("ywgiftcard.Image =", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageNotEqualTo(String value) {
            addCriterion("ywgiftcard.Image <>", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageGreaterThan(String value) {
            addCriterion("ywgiftcard.Image >", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Image >=", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageLessThan(String value) {
            addCriterion("ywgiftcard.Image <", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.Image <=", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Image <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andImageLike(String value) {
            addCriterion("ywgiftcard.Image like", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotLike(String value) {
            addCriterion("ywgiftcard.Image not like", value, "image");
            return (Criteria) this;
        }

        public Criteria andImageIn(List<String> values) {
            addCriterion("ywgiftcard.Image in", values, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotIn(List<String> values) {
            addCriterion("ywgiftcard.Image not in", values, "image");
            return (Criteria) this;
        }

        public Criteria andImageBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Image between", value1, value2, "image");
            return (Criteria) this;
        }

        public Criteria andImageNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.Image not between", value1, value2, "image");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("ywgiftcard.Price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("ywgiftcard.Price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.Price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.Price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("ywgiftcard.Price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.Price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("ywgiftcard.Price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.Price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Price <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.Price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.Price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.Price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.Price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeIsNull() {
            addCriterion("ywgiftcard.CardValueType is null");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeIsNotNull() {
            addCriterion("ywgiftcard.CardValueType is not null");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeEqualTo(String value) {
            addCriterion("ywgiftcard.CardValueType =", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeNotEqualTo(String value) {
            addCriterion("ywgiftcard.CardValueType <>", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeGreaterThan(String value) {
            addCriterion("ywgiftcard.CardValueType >", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.CardValueType >=", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeLessThan(String value) {
            addCriterion("ywgiftcard.CardValueType <", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.CardValueType <=", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardValueType <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardValueTypeLike(String value) {
            addCriterion("ywgiftcard.CardValueType like", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeNotLike(String value) {
            addCriterion("ywgiftcard.CardValueType not like", value, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeIn(List<String> values) {
            addCriterion("ywgiftcard.CardValueType in", values, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeNotIn(List<String> values) {
            addCriterion("ywgiftcard.CardValueType not in", values, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeBetween(String value1, String value2) {
            addCriterion("ywgiftcard.CardValueType between", value1, value2, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andCardValueTypeNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.CardValueType not between", value1, value2, "cardValueType");
            return (Criteria) this;
        }

        public Criteria andFaceValueIsNull() {
            addCriterion("ywgiftcard.FaceValue is null");
            return (Criteria) this;
        }

        public Criteria andFaceValueIsNotNull() {
            addCriterion("ywgiftcard.FaceValue is not null");
            return (Criteria) this;
        }

        public Criteria andFaceValueEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue =", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueNotEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue <>", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueGreaterThan(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue >", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue >=", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueLessThan(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue <", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.FaceValue <=", value, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.FaceValue <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andFaceValueIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.FaceValue in", values, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueNotIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.FaceValue not in", values, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.FaceValue between", value1, value2, "faceValue");
            return (Criteria) this;
        }

        public Criteria andFaceValueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.FaceValue not between", value1, value2, "faceValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueIsNull() {
            addCriterion("ywgiftcard.CardMinValue is null");
            return (Criteria) this;
        }

        public Criteria andCardMinValueIsNotNull() {
            addCriterion("ywgiftcard.CardMinValue is not null");
            return (Criteria) this;
        }

        public Criteria andCardMinValueEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue =", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueNotEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue <>", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueGreaterThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue >", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue >=", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueLessThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue <", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMinValue <=", value, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMinValue <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMinValueIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardMinValue in", values, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueNotIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardMinValue not in", values, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardMinValue between", value1, value2, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMinValueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardMinValue not between", value1, value2, "cardMinValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueIsNull() {
            addCriterion("ywgiftcard.CardMaxValue is null");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueIsNotNull() {
            addCriterion("ywgiftcard.CardMaxValue is not null");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue =", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueNotEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue <>", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueGreaterThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue >", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue >=", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueLessThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue <", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardMaxValue <=", value, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardMaxValue <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardMaxValueIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardMaxValue in", values, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueNotIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardMaxValue not in", values, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardMaxValue between", value1, value2, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardMaxValueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardMaxValue not between", value1, value2, "cardMaxValue");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentIsNull() {
            addCriterion("ywgiftcard.CardDiscountPercent is null");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentIsNotNull() {
            addCriterion("ywgiftcard.CardDiscountPercent is not null");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent =", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentNotEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent <>", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentGreaterThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent >", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent >=", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentLessThan(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent <", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ywgiftcard.CardDiscountPercent <=", value, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CardDiscountPercent <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardDiscountPercent in", values, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentNotIn(List<BigDecimal> values) {
            addCriterion("ywgiftcard.CardDiscountPercent not in", values, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardDiscountPercent between", value1, value2, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCardDiscountPercentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ywgiftcard.CardDiscountPercent not between", value1, value2, "cardDiscountPercent");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNull() {
            addCriterion("ywgiftcard.Currency is null");
            return (Criteria) this;
        }

        public Criteria andCurrencyIsNotNull() {
            addCriterion("ywgiftcard.Currency is not null");
            return (Criteria) this;
        }

        public Criteria andCurrencyEqualTo(Integer value) {
            addCriterion("ywgiftcard.Currency =", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyNotEqualTo(Integer value) {
            addCriterion("ywgiftcard.Currency <>", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThan(Integer value) {
            addCriterion("ywgiftcard.Currency >", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.Currency >=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThan(Integer value) {
            addCriterion("ywgiftcard.Currency <", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.Currency <=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Currency <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCurrencyIn(List<Integer> values) {
            addCriterion("ywgiftcard.Currency in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotIn(List<Integer> values) {
            addCriterion("ywgiftcard.Currency not in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.Currency between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andCurrencyNotBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.Currency not between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedIsNull() {
            addCriterion("ywgiftcard.IsRefundAllowed is null");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedIsNotNull() {
            addCriterion("ywgiftcard.IsRefundAllowed is not null");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedEqualTo(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed =", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedNotEqualTo(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed <>", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedGreaterThan(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed >", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed >=", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedLessThan(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed <", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedLessThanOrEqualTo(Boolean value) {
            addCriterion("ywgiftcard.IsRefundAllowed <=", value, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.IsRefundAllowed <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedIn(List<Boolean> values) {
            addCriterion("ywgiftcard.IsRefundAllowed in", values, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedNotIn(List<Boolean> values) {
            addCriterion("ywgiftcard.IsRefundAllowed not in", values, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedBetween(Boolean value1, Boolean value2) {
            addCriterion("ywgiftcard.IsRefundAllowed between", value1, value2, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andIsRefundAllowedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("ywgiftcard.IsRefundAllowed not between", value1, value2, "isRefundAllowed");
            return (Criteria) this;
        }

        public Criteria andRankingIsNull() {
            addCriterion("ywgiftcard.Ranking is null");
            return (Criteria) this;
        }

        public Criteria andRankingIsNotNull() {
            addCriterion("ywgiftcard.Ranking is not null");
            return (Criteria) this;
        }

        public Criteria andRankingEqualTo(Integer value) {
            addCriterion("ywgiftcard.Ranking =", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingNotEqualTo(Integer value) {
            addCriterion("ywgiftcard.Ranking <>", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingGreaterThan(Integer value) {
            addCriterion("ywgiftcard.Ranking >", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingGreaterThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.Ranking >=", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingLessThan(Integer value) {
            addCriterion("ywgiftcard.Ranking <", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingLessThanOrEqualTo(Integer value) {
            addCriterion("ywgiftcard.Ranking <=", value, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Ranking <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andRankingIn(List<Integer> values) {
            addCriterion("ywgiftcard.Ranking in", values, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingNotIn(List<Integer> values) {
            addCriterion("ywgiftcard.Ranking not in", values, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.Ranking between", value1, value2, "ranking");
            return (Criteria) this;
        }

        public Criteria andRankingNotBetween(Integer value1, Integer value2) {
            addCriterion("ywgiftcard.Ranking not between", value1, value2, "ranking");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNull() {
            addCriterion("ywgiftcard.StoreId is null");
            return (Criteria) this;
        }

        public Criteria andStoreIdIsNotNull() {
            addCriterion("ywgiftcard.StoreId is not null");
            return (Criteria) this;
        }

        public Criteria andStoreIdEqualTo(String value) {
            addCriterion("ywgiftcard.StoreId =", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdNotEqualTo(String value) {
            addCriterion("ywgiftcard.StoreId <>", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThan(String value) {
            addCriterion("ywgiftcard.StoreId >", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.StoreId >=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThan(String value) {
            addCriterion("ywgiftcard.StoreId <", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.StoreId <=", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.StoreId <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andStoreIdLike(String value) {
            addCriterion("ywgiftcard.StoreId like", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotLike(String value) {
            addCriterion("ywgiftcard.StoreId not like", value, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdIn(List<String> values) {
            addCriterion("ywgiftcard.StoreId in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotIn(List<String> values) {
            addCriterion("ywgiftcard.StoreId not in", values, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdBetween(String value1, String value2) {
            addCriterion("ywgiftcard.StoreId between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andStoreIdNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.StoreId not between", value1, value2, "storeId");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIsNull() {
            addCriterion("ywgiftcard.LastModifiedTime is null");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIsNotNull() {
            addCriterion("ywgiftcard.LastModifiedTime is not null");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeEqualTo(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime =", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotEqualTo(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime <>", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThan(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime >", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime >=", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThan(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime <", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.LastModifiedTime <=", value, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.LastModifiedTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeIn(List<Date> values) {
            addCriterion("ywgiftcard.LastModifiedTime in", values, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotIn(List<Date> values) {
            addCriterion("ywgiftcard.LastModifiedTime not in", values, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.LastModifiedTime between", value1, value2, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andLastModifiedTimeNotBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.LastModifiedTime not between", value1, value2, "lastModifiedTime");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("ywgiftcard.Deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("ywgiftcard.Deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Boolean value) {
            addCriterion("ywgiftcard.Deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Boolean value) {
            addCriterion("ywgiftcard.Deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Boolean value) {
            addCriterion("ywgiftcard.Deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("ywgiftcard.Deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Boolean value) {
            addCriterion("ywgiftcard.Deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("ywgiftcard.Deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.Deleted <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Boolean> values) {
            addCriterion("ywgiftcard.Deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Boolean> values) {
            addCriterion("ywgiftcard.Deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("ywgiftcard.Deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("ywgiftcard.Deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("ywgiftcard.`CreateUser` is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("ywgiftcard.`CreateUser` is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("ywgiftcard.`CreateUser` =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("ywgiftcard.`CreateUser` <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("ywgiftcard.`CreateUser` >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`CreateUser` >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("ywgiftcard.`CreateUser` <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.`CreateUser` <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.`CreateUser` <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("ywgiftcard.`CreateUser` like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("ywgiftcard.`CreateUser` not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("ywgiftcard.`CreateUser` in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("ywgiftcard.`CreateUser` not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`CreateUser` between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.`CreateUser` not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("ywgiftcard.CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("ywgiftcard.CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("ywgiftcard.CreateTime =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("ywgiftcard.CreateTime <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("ywgiftcard.CreateTime >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.CreateTime >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("ywgiftcard.CreateTime <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.CreateTime <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.CreateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("ywgiftcard.CreateTime in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("ywgiftcard.CreateTime not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.CreateTime between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.CreateTime not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNull() {
            addCriterion("ywgiftcard.UpdateUser is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIsNotNull() {
            addCriterion("ywgiftcard.UpdateUser is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualTo(String value) {
            addCriterion("ywgiftcard.UpdateUser =", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualTo(String value) {
            addCriterion("ywgiftcard.UpdateUser <>", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThan(String value) {
            addCriterion("ywgiftcard.UpdateUser >", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.UpdateUser >=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThan(String value) {
            addCriterion("ywgiftcard.UpdateUser <", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("ywgiftcard.UpdateUser <=", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateUser <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateUserLike(String value) {
            addCriterion("ywgiftcard.UpdateUser like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotLike(String value) {
            addCriterion("ywgiftcard.UpdateUser not like", value, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIn(List<String> values) {
            addCriterion("ywgiftcard.UpdateUser in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotIn(List<String> values) {
            addCriterion("ywgiftcard.UpdateUser not in", values, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserBetween(String value1, String value2) {
            addCriterion("ywgiftcard.UpdateUser between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateUserNotBetween(String value1, String value2) {
            addCriterion("ywgiftcard.UpdateUser not between", value1, value2, "updateUser");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("ywgiftcard.UpdateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("ywgiftcard.UpdateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("ywgiftcard.UpdateTime =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("ywgiftcard.UpdateTime <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("ywgiftcard.UpdateTime >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.UpdateTime >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("ywgiftcard.UpdateTime <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("ywgiftcard.UpdateTime <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualToColumn(YWGiftCard.Column column) {
            addCriterion(new StringBuilder("ywgiftcard.UpdateTime <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("ywgiftcard.UpdateTime in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("ywgiftcard.UpdateTime not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.UpdateTime between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("ywgiftcard.UpdateTime not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        private YWGiftCardExample example;

        protected Criteria(YWGiftCardExample example) {
            super();
            this.example = example;
        }

        public YWGiftCardExample example() {
            return this.example;
        }

        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        public Criteria andLogicalDeleted(boolean deleted) {
            return deleted ? andDeletedEqualTo(YWGiftCard.Deleted.IS_DELETED.value()) : andDeletedNotEqualTo(YWGiftCard.Deleted.IS_DELETED.value());
        }

        @Deprecated
        public interface ICriteriaAdd {
            Criteria add(Criteria add);
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

    public interface ICriteriaWhen {
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        void example(com.ecoolex.discount.sales.entity.YWGiftCardExample example);
    }
}